//
//  UKTableViewMultipeerProxy.m
//  UKListManager
//
//  Created by ET|冰琳 on 16/11/9.
//  Copyright © 2016年 UK. All rights reserved.
//

#import "UKTableViewMultipeerProxy.h"
#import "ListCellData.h"

@interface UKTableViewMultipeerProxy ()

@property (nonatomic, assign) id<UKListDataSource> dataSource;

@end

@implementation UKTableViewMultipeerProxy

- (instancetype)initWithDataSource:(id<UKListDataSource>)dataSource{
    if (self = [super init]) {
        self.dataSource = dataSource;
    }
    return self;
}

#pragma mark - UITableViewDataSource
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
    
    ListCellData *data = [self.dataSource dataAtIndexPath:indexPath];
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:data.identifier];
    if (data.config) {
        data.config(cell, indexPath);
    }
    return cell;
}

- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView{
    return [self.dataSource sectionCount];
}

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{
    return [self.dataSource rowCountAtSection:section];
}

#pragma mark - UITableViewDelegate
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{
    ListCellData *data = [self.dataSource dataAtIndexPath:indexPath];
    if (data.select) {
        data.select(indexPath);
    }
}


@end
